#ifndef LOG_H_
#define LOG_H_

typedef struct logCDT * logADT;
typedef enum {DEBUG, NOTIFICATION, WARNING, ERROR, FATAL} levelT; 

logADT NewLog(const char * logname);

logADT OpenLog(const char * logname);

void SetLogLevel(logADT log, levelT level);

void Fatal(const char * logmsg, ...);

void Error(const char * logmsg, ...);

void Warning(const char * logmsg, ...);

void Notification(const char * logmsg, ...);

void Debug(const char * logmsg, ...);

void CloseLog(logADT log);

#endif /*LOG_H_*/
